package game;

////import player.IToken;

/**
 * Такя {@linkplain matrix.ICell Ячейка} может быть помечена {@linkplain game.IToken Маркером}
 * @see game.ICellCanBeMarked#setTag(IToken) 
 * @see game.ICellCanBeMarked#tag() 
 * @see {@literal Фримен Эр., Фримен Эл. - "Паттерны проектирования", глава 1}
*/
public interface ICellCanBeMarked {
	/**
	 * Возвращает {@linkplain game.IToken Маркер}, которым помечена данная {@linkplain matrix.ICell Ячейка}
	 * @return объект {@linkplain game.IToken  IToken}
	 */
	abstract IToken tag();
	/**
	 * Помечает {@linkplain matrix.ICell Ячейку} заданным {@linkplain game.IToken Маркером}
	 * @param aTag {@linkplain game.IToken Макер} для пометки {@linkplain matrix.ICell Ячейки}
	 */
	abstract void setTag(IToken aTag);
}
